package cn.cyh.queue_service.mq.event;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Map;

/**
 * 统计数据更新事件消息
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class StatsUpdateEvent implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 事件类型
     */
    private String eventType = "STATS_UPDATE";
    
    /**
     * 统计类型（DAILY、WINDOW、SERVICE_TYPE、STAFF等）
     */
    private String statsType;
    
    /**
     * 业务类型ID
     */
    private Long serviceTypeId;
    
    /**
     * 窗口ID
     */
    private Long windowId;
    
    /**
     * 业务员ID
     */
    private Long staffId;
    
    /**
     * 业务区域ID
     */
    private String areaId;
    
    /**
     * 统计日期（yyyyMMdd格式）
     */
    private String statsDate;
    
    /**
     * 时间戳
     */
    private Long timestamp;
    
    /**
     * 统计指标数据
     */
    private Map<String, Object> metrics;
    
    /**
     * 更新描述
     */
    private String updateDescription;
} 